package cn.quang.search.admin.entity.vo.scene;

import java.util.List;

public class SearchSceneRequest {
    private String code;
    private String name;
    private String description;
    private LogicTableRequest logicTable;
    private List<SearchPresetConditionRequest> presetConditions;
    private List<SearchConditionRequest> alwaysRegisterConditions;
    private List<SearchResultFetcherRequest> resultFetchers;
    private List<SearchResultInnerFetcherRequest> resultInnerFetchers;
    private List<FieldDicRequest> fieldDices;

    public static final class LogicTableRequest {
        private long logicTableId;
        private String logicTableName;

        public long getLogicTableId() {
            return logicTableId;
        }

        public void setLogicTableId(long logicTableId) {
            this.logicTableId = logicTableId;
        }

        public String getLogicTableName() {
            return logicTableName;
        }

        public void setLogicTableName(String logicTableName) {
            this.logicTableName = logicTableName;
        }
    }

    public static final class SearchPresetConditionRequest {
        private int fieldType;
        private long idForFieldDic;
        private long idForConditionDic;
        private String fieldDicName;
        private String operator;
        private int type;
        private String valueForInput;
        private int valueForVar;
        private long valueForContext;
        private String valueForDb;

        public long getIdForFieldDic() {
            return idForFieldDic;
        }

        public void setIdForFieldDic(long idForFieldDic) {
            this.idForFieldDic = idForFieldDic;
        }

        public int getFieldType() {
            return fieldType;
        }

        public void setFieldType(int fieldType) {
            this.fieldType = fieldType;
        }

        public long getIdForConditionDic() {
            return idForConditionDic;
        }

        public void setIdForConditionDic(long idForConditionDic) {
            this.idForConditionDic = idForConditionDic;
        }

        public String getFieldDicName() {
            return fieldDicName;
        }

        public void setFieldDicName(String fieldDicName) {
            this.fieldDicName = fieldDicName;
        }

        public String getOperator() {
            return operator;
        }

        public void setOperator(String operator) {
            this.operator = operator;
        }

        public int getType() {
            return type;
        }

        public void setType(int type) {
            this.type = type;
        }

        public String getValueForInput() {
            return valueForInput;
        }

        public void setValueForInput(String valueForInput) {
            this.valueForInput = valueForInput;
        }

        public int getValueForVar() {
            return valueForVar;
        }

        public void setValueForVar(int valueForVar) {
            this.valueForVar = valueForVar;
        }

        public long getValueForContext() {
            return valueForContext;
        }

        public void setValueForContext(long valueForContext) {
            this.valueForContext = valueForContext;
        }

        public String getValueForDb() {
            return valueForDb;
        }

        public void setValueForDb(String valueForDb) {
            this.valueForDb = valueForDb;
        }
    }

    public static final class SearchConditionRequest {
        private long conditionId;
        private String conditionName;

        public long getConditionId() {
            return conditionId;
        }

        public void setConditionId(long conditionId) {
            this.conditionId = conditionId;
        }

        public String getConditionName() {
            return conditionName;
        }

        public void setConditionName(String conditionName) {
            this.conditionName = conditionName;
        }
    }
    public static final class SearchResultFetcherRequest {
        private long resultFetcherId;
        private String resultFetcherName;
        private boolean supportSort;
        private long recommendSortFieldDicId;

        public long getResultFetcherId() {
            return resultFetcherId;
        }

        public void setResultFetcherId(long resultFetcherId) {
            this.resultFetcherId = resultFetcherId;
        }

        public String getResultFetcherName() {
            return resultFetcherName;
        }

        public void setResultFetcherName(String resultFetcherName) {
            this.resultFetcherName = resultFetcherName;
        }

        public boolean isSupportSort() {
            return supportSort;
        }

        public void setSupportSort(boolean supportSort) {
            this.supportSort = supportSort;
        }

        public long getRecommendSortFieldDicId() {
            return recommendSortFieldDicId;
        }

        public void setRecommendSortFieldDicId(long recommendSortFieldDicId) {
            this.recommendSortFieldDicId = recommendSortFieldDicId;
        }
    }

    public static final class SearchResultInnerFetcherRequest {
        private long innerFetcherId;
        private String innerFetcherName;
        private String dic;
        private String name;
        private String description;
        private boolean supportSort;
        private long recommendSortFieldDicId;
        private List<SearchResultInnerFetcherFieldDicRequest> innerFetcherFieldDices;

        public long getInnerFetcherId() {
            return innerFetcherId;
        }

        public void setInnerFetcherId(long innerFetcherId) {
            this.innerFetcherId = innerFetcherId;
        }

        public String getInnerFetcherName() {
            return innerFetcherName;
        }

        public void setInnerFetcherName(String innerFetcherName) {
            this.innerFetcherName = innerFetcherName;
        }

        public String getDic() {
            return dic;
        }

        public void setDic(String dic) {
            this.dic = dic;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public boolean isSupportSort() {
            return supportSort;
        }

        public void setSupportSort(boolean supportSort) {
            this.supportSort = supportSort;
        }

        public long getRecommendSortFieldDicId() {
            return recommendSortFieldDicId;
        }

        public void setRecommendSortFieldDicId(long recommendSortFieldDicId) {
            this.recommendSortFieldDicId = recommendSortFieldDicId;
        }

        public List<SearchResultInnerFetcherFieldDicRequest> getInnerFetcherFieldDices() {
            return innerFetcherFieldDices;
        }

        public void setInnerFetcherFieldDices(List<SearchResultInnerFetcherFieldDicRequest> innerFetcherFieldDices) {
            this.innerFetcherFieldDices = innerFetcherFieldDices;
        }
    }

    public static final class SearchResultInnerFetcherFieldDicRequest {
        private long innerFetcherFieldDicId;
        private String innerFetcherFieldDicName;
        private long fieldDicId;
        private String fieldDicName;

        public long getInnerFetcherFieldDicId() {
            return innerFetcherFieldDicId;
        }

        public void setInnerFetcherFieldDicId(long innerFetcherFieldDicId) {
            this.innerFetcherFieldDicId = innerFetcherFieldDicId;
        }

        public String getInnerFetcherFieldDicName() {
            return innerFetcherFieldDicName;
        }

        public void setInnerFetcherFieldDicName(String innerFetcherFieldDicName) {
            this.innerFetcherFieldDicName = innerFetcherFieldDicName;
        }

        public long getFieldDicId() {
            return fieldDicId;
        }

        public void setFieldDicId(long fieldDicId) {
            this.fieldDicId = fieldDicId;
        }

        public String getFieldDicName() {
            return fieldDicName;
        }

        public void setFieldDicName(String fieldDicName) {
            this.fieldDicName = fieldDicName;
        }
    }

    public static final class FieldDicRequest {
        private long fieldDicId;
        private String fieldDicName;

        public long getFieldDicId() {
            return fieldDicId;
        }

        public void setFieldDicId(long fieldDicId) {
            this.fieldDicId = fieldDicId;
        }

        public String getFieldDicName() {
            return fieldDicName;
        }

        public void setFieldDicName(String fieldDicName) {
            this.fieldDicName = fieldDicName;
        }
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public LogicTableRequest getLogicTable() {
        return logicTable;
    }

    public void setLogicTable(LogicTableRequest logicTable) {
        this.logicTable = logicTable;
    }

    public List<SearchPresetConditionRequest> getPresetConditions() {
        return presetConditions;
    }

    public void setPresetConditions(List<SearchPresetConditionRequest> presetConditions) {
        this.presetConditions = presetConditions;
    }

    public List<SearchConditionRequest> getAlwaysRegisterConditions() {
        return alwaysRegisterConditions;
    }

    public void setAlwaysRegisterConditions(List<SearchConditionRequest> alwaysRegisterConditions) {
        this.alwaysRegisterConditions = alwaysRegisterConditions;
    }

    public List<SearchResultFetcherRequest> getResultFetchers() {
        return resultFetchers;
    }

    public void setResultFetchers(List<SearchResultFetcherRequest> resultFetchers) {
        this.resultFetchers = resultFetchers;
    }

    public List<SearchResultInnerFetcherRequest> getResultInnerFetchers() {
        return resultInnerFetchers;
    }

    public void setResultInnerFetchers(List<SearchResultInnerFetcherRequest> resultInnerFetchers) {
        this.resultInnerFetchers = resultInnerFetchers;
    }

    public List<FieldDicRequest> getFieldDices() {
        return fieldDices;
    }

    public void setFieldDices(List<FieldDicRequest> fieldDices) {
        this.fieldDices = fieldDices;
    }
}
